home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Draw / CWindow.as < prev   
Text File  |  2011-08-19  |  26KB  |  587 lines

  1. package Local.Draw
  2. {
  3.    import Local.CMain;
  4.    import fl.motion.easing.Elastic;
  5.    import flash.display.Bitmap;
  6.    import flash.display.BitmapData;
  7.    import flash.display.DisplayObject;
  8.    import flash.display.Graphics;
  9.    import flash.display.MovieClip;
  10.    import flash.events.Event;
  11.    import flash.events.MouseEvent;
  12.    import flash.geom.Point;
  13.    import flash.geom.Rectangle;
  14.    import flash.utils.getTimer;
  15.    
  16.    public class CWindow extends MovieClip
  17.    {
  18.       
  19.       public static const mFlashColor:int = 16777215;
  20.       
  21.       public static const mBorderAlpha:Number = 0.5;
  22.       
  23.       public static const mBorderColor:int = 16777215;
  24.       
  25.       public static const mTrailAmount:int = 5;
  26.       
  27.       public static const mStageSize:Rectangle = CMain.mSize;
  28.       
  29.       public static const zPoint:Point = new Point(0,0);
  30.       
  31.       public static const OPEN:String = "OPEN";
  32.       
  33.       public static const DISPOSING:String = "DISPOSING";
  34.        
  35.       
  36.       private var mTrails:Array;
  37.       
  38.       private var mcDraw:MovieClip;
  39.       
  40.       private var mSize:Rectangle;
  41.       
  42.       private var mState:String;
  43.       
  44.       private var mDuration:int;
  45.       
  46.       public var mcDisplay:MovieClip;
  47.       
  48.       var mButtons:Object;
  49.       
  50.       private var mStartTime:int;
  51.       
  52.       private var mcBG:MovieClip;
  53.       
  54.       private var mTargetSize:Rectangle;
  55.       
  56.       private var gfx:Graphics;
  57.       
  58.       private var mClosing:Boolean;
  59.       
  60.       private var mStartSize:Rectangle;
  61.       
  62.       private var mTransitionSize:Rectangle;
  63.       
  64.       private var bmBG:Bitmap;
  65.       
  66.       public function CWindow(param1:MovieClip, param2:DisplayObject, param3:Point = null, param4:Boolean = true)
  67.       {
  68.          var _loc5_:* = undefined;
  69.          if(true)
  70.          {
  71.             super();
  72.             param3 = !!param3 ? param3 : new Point();
  73.             if(true)
  74.             {
  75.                ┬º┬ºpush(param2 != null);
  76.                if(param2 != null)
  77.                {
  78.                   ┬º┬ºpop();
  79.                   if(true)
  80.                   {
  81.                      addr39:
  82.                      if(param4)
  83.                      {
  84.                         if(true)
  85.                         {
  86.                            addChild(mcBG = new MovieClip());
  87.                            if(true)
  88.                            {
  89.                               mcBG.visible = false;
  90.                            }
  91.                            bmBG = new Bitmap();
  92.                         }
  93.                         bmBG.bitmapData = new BitmapData(mStageSize.width,mStageSize.height,true,0);
  94.                         ┬º┬ºgoto(addr71);
  95.                      }
  96.                      ┬º┬ºgoto(addr118);
  97.                   }
  98.                   addr71:
  99.                   bmBG.bitmapData.draw(param2);
  100.                   ┬º┬ºgoto(addr75);
  101.                }
  102.                ┬º┬ºgoto(addr39);
  103.             }
  104.             addr75:
  105.             for each(_loc5_ in new WindowFilter_Background().mcFilter.filters)
  106.             {
  107.                bmBG.bitmapData.applyFilter(bmBG.bitmapData,bmBG.bitmapData.rect,zPoint,_loc5_);
  108.             }
  109.             if(true)
  110.             {
  111.                mcBG.addChild(bmBG);
  112.                if(true)
  113.                {
  114.                   addr118:
  115.                   addChild(mcDisplay = param1);
  116.                   if(true)
  117.                   {
  118.                      mSize = new Rectangle((mStageSize.width - mcDisplay.mcSize.width) / 2 + param3.x,(mStageSize.height - mcDisplay.mcSize.height) / 2 + param3.y,mcDisplay.mcSize.width,mcDisplay.mcSize.height);
  119.                      if(true)
  120.                      {
  121.                         mcDisplay.mcSize.visible = false;
  122.                         if(true)
  123.                         {
  124.                            mcDisplay.visible = false;
  125.                            if(true)
  126.                            {
  127.                               mcDisplay.x = mSize.x;
  128.                            }
  129.                            mcDisplay.y = mSize.y;
  130.                         }
  131.                         addChild(mcDraw = new MovieClip());
  132.                      }
  133.                      mTrails = new Array();
  134.                   }
  135.                   mState = "transitionin";
  136.                }
  137.                mButtons = new Object();
  138.             }
  139.             return;
  140.          }
  141.          ┬º┬ºgoto(addr18);
  142.       }
  143.       
  144.       public static function EaseOut(param1:Number) : Number
  145.       {
  146.          return Elastic.easeOut(param1,0,1,1,0,1.5);
  147.       }
  148.       
  149.       public static function EaseIn(param1:Number) : Number
  150.       {
  151.          return Elastic.easeIn(param1,0,1,1,0,1.5);
  152.       }
  153.       
  154.       public function GetButton(param1:String) : CScreenButton
  155.       {
  156.          return mButtons[param1];
  157.       }
  158.       
  159.       public function AddButton(param1:String, param2:CScreenButton) : CScreenButton
  160.       {
  161.          if(true)
  162.          {
  163.             mButtons[param1] = param2;
  164.             if(true)
  165.             {
  166.                param2.mID = param1;
  167.             }
  168.             param2.mParent = this;
  169.          }
  170.          return param2;
  171.       }
  172.       
  173.       public function Close() : void
  174.       {
  175.          if(!mClosing)
  176.          {
  177.             mState = "displayout";
  178.             mClosing = true;
  179.          }
  180.       }
  181.       
  182.       public function get mFactor() : Number
  183.       {
  184.          return Math.min(1,(getTimer() - mStartTime) / mDuration);
  185.       }
  186.       
  187.       public function DrawRect(param1:Rectangle) : void
  188.       {
  189.          if(true)
  190.          {
  191.             gfx.drawRect(param1.x,param1.y,param1.width,param1.height);
  192.          }
  193.       }
  194.       
  195.       public function RenderTrails(param1:Boolean = false) : void
  196.       {
  197.          var _loc2_:* = NaN;
  198.          var _loc3_:Object = null;
  199.          if(mTrails.length > mTrailAmount)
  200.          {
  201.             mTrails = mTrails.slice(mTrails.length - mTrailAmount);
  202.          }
  203.          _loc2_ = Number(0);
  204.          for each(_loc3_ in mTrails)
  205.          {
  206.             ┬º┬ºpush(_loc2_);
  207.             if(true)
  208.             {
  209.                ┬º┬ºpush(Number(┬º┬ºpop() + 1 / (mTrailAmount + 1)));
  210.             }
  211.             _loc2_ = ┬º┬ºpop();
  212.             gfx.lineStyle(0,mBorderColor,_loc2_ * mBorderAlpha);
  213.             DrawRect(_loc3_.mRect);
  214.          }
  215.          ┬º┬ºpush(Boolean(mTrails.length));
  216.          if(true)
  217.          {
  218.             if(┬º┬ºpop())
  219.             {
  220.                if(true)
  221.                {
  222.                   ┬º┬ºpop();
  223.                   ┬º┬ºpush(param1);
  224.                }
  225.                ┬º┬ºpush(Boolean(┬º┬ºpop()));
  226.             }
  227.          }
  228.          if(┬º┬ºpop())
  229.          {
  230.             mTrails.shift();
  231.          }
  232.       }
  233.       
  234.       public function TweenNumber(param1:Number, param2:Number, param3:Number) : Number
  235.       {
  236.          return (param2 - param1) * param3 + param1;
  237.       }
  238.       
  239.       public function e_CLOSE(param1:MouseEvent = null) : void
  240.       {
  241.          Close();
  242.       }
  243.       
  244.       public function TweenRect(param1:Rectangle, param2:Rectangle, param3:Number) : Rectangle
  245.       {
  246.          var _loc4_:Rectangle = null;
  247.          (_loc4_ = new Rectangle()).x = TweenNumber(param1.x,param2.x,param3);
  248.          _loc4_.y = TweenNumber(param1.y,param2.y,param3);
  249.          _loc4_.width = TweenNumber(param1.width,param2.width,param3);
  250.          _loc4_.height = TweenNumber(param1.height,param2.height,param3);
  251.          return _loc4_;
  252.       }
  253.       
  254.       public function Update() : void
  255.       {
  256.          var _loc1_:Number = NaN;
  257.          if(true)
  258.          {
  259.             gfx = this.mcDraw.graphics;
  260.          }
  261.          switch(mState)
  262.          {
  263.             case "transitionin":
  264.                mState = "transitionin_step";
  265.                if(true)
  266.                {
  267.                   mStartSize = new Rectangle(mStageSize.width / 2,mStageSize.height + 10,0,0);
  268.                   if(false)
  269.                   {
  270.                      addr383:
  271.                      break;
  272.                   }
  273.                   mTransitionSize = new Rectangle();
  274.                   if(true)
  275.                   {
  276.                      mTargetSize = mSize;
  277.                      if(true)
  278.                      {
  279.                         mStartTime = getTimer();
  280.                         if(true)
  281.                         {
  282.                            mDuration = 500;
  283.                            if(true)
  284.                            {
  285.                               if(mcBG)
  286.                               {
  287.                                  if(true)
  288.                                  {
  289.                                     mcBG.visible = true;
  290.                                     if(true)
  291.                                     {
  292.                                        mcBG.alpha = 0;
  293.                                        if(true)
  294.                                        {
  295.                                           addr77:
  296.                                           mTrails.push({"mRect":mTransitionSize.clone()});
  297.                                           if(true)
  298.                                           {
  299.                                              mTransitionSize = TweenRect(mStartSize,mTargetSize,_loc1_ = EaseOut(mFactor));
  300.                                              if(true)
  301.                                              {
  302.                                                 gfx.clear();
  303.                                                 if(true)
  304.                                                 {
  305.                                                    RenderTrails();
  306.                                                    if(true)
  307.                                                    {
  308.                                                       gfx.lineStyle(0,mBorderColor,mBorderAlpha);
  309.                                                       if(true)
  310.                                                       {
  311.                                                          DrawRect(mTransitionSize);
  312.                                                          if(true)
  313.                                                          {
  314.                                                             if(mcBG)
  315.                                                             {
  316.                                                                if(true)
  317.                                                                {
  318.                                                                   mcBG.alpha = _loc1_;
  319.                                                                   if(true)
  320.                                                                   {
  321.                                                                      addr132:
  322.                                                                      ┬º┬ºpush(_loc1_);
  323.                                                                      if(true)
  324.                                                                      {
  325.                                                                         if(┬º┬ºpop() == 1)
  326.                                                                         {
  327.                                                                            if(true)
  328.                                                                            {
  329.                                                                               mState = "displayin";
  330.                                                                               if(true)
  331.                                                                               {
  332.                                                                                  addr144:
  333.                                                                                  break;
  334.                                                                               }
  335.                                                                               addr310:
  336.                                                                               mcDisplay.visible = false;
  337.                                                                            }
  338.                                                                            mTargetSize = mStartSize.clone();
  339.                                                                            addr317:
  340.                                                                            mStartSize = mTransitionSize.clone();
  341.                                                                            addr321:
  342.                                                                            mTransitionSize = new Rectangle();
  343.                                                                            addr325:
  344.                                                                            mStartTime = getTimer();
  345.                                                                            addr329:
  346.                                                                            mDuration = 300;
  347.                                                                            addr332:
  348.                                                                            mTrails.push({"mRect":mTransitionSize.clone()});
  349.                                                                            addr339:
  350.                                                                            mTransitionSize = TweenRect(mStartSize,mTargetSize,_loc1_ = EaseIn(mFactor));
  351.                                                                            addr354:
  352.                                                                            gfx.clear();
  353.                                                                            addr356:
  354.                                                                            RenderTrails();
  355.                                                                            addr358:
  356.                                                                            gfx.lineStyle(0,mBorderColor,mBorderAlpha);
  357.                                                                            addr363:
  358.                                                                            DrawRect(mTransitionSize);
  359.                                                                            if(mcBG)
  360.                                                                            {
  361.                                                                               addr368:
  362.                                                                               mcBG.alpha = 1 - _loc1_;
  363.                                                                               addr373:
  364.                                                                               if(_loc1_ == 1)
  365.                                                                               {
  366.                                                                                  addr376:
  367.                                                                                  mState = "dispose";
  368.                                                                                  addr379:
  369.                                                                                  break;
  370.                                                                               }
  371.                                                                               ┬º┬ºgoto(addr379);
  372.                                                                            }
  373.                                                                            ┬º┬ºgoto(addr373);
  374.                                                                         }
  375.                                                                         ┬º┬ºgoto(addr144);
  376.                                                                      }
  377.                                                                      ┬º┬ºgoto(addr373);
  378.                                                                   }
  379.                                                                   ┬º┬ºgoto(addr317);
  380.                                                                }
  381.                                                                ┬º┬ºgoto(addr321);
  382.                                                             }
  383.                                                             ┬º┬ºgoto(addr132);
  384.                                                          }
  385.                                                          ┬º┬ºgoto(addr325);
  386.                                                       }
  387.                                                       ┬º┬ºgoto(addr329);
  388.                                                    }
  389.                                                    ┬º┬ºgoto(addr332);
  390.                                                 }
  391.                                                 ┬º┬ºgoto(addr339);
  392.                                              }
  393.                                              ┬º┬ºgoto(addr354);
  394.                                           }
  395.                                           ┬º┬ºgoto(addr356);
  396.                                        }
  397.                                        ┬º┬ºgoto(addr358);
  398.                                     }
  399.                                     ┬º┬ºgoto(addr363);
  400.                                  }
  401.                                  ┬º┬ºgoto(addr317);
  402.                               }
  403.                               ┬º┬ºgoto(addr77);
  404.                            }
  405.                         }
  406.                         ┬º┬ºgoto(addr368);
  407.                      }
  408.                   }
  409.                   ┬º┬ºgoto(addr376);
  410.                }
  411.                break;
  412.             case "transitionin_step":
  413.                ┬º┬ºgoto(addr77);
  414.             case "transitionout":
  415.                mState = "transitionout_step";
  416.                ┬º┬ºgoto(addr310);
  417.             case "transitionout_step":
  418.                ┬º┬ºgoto(addr317);
  419.             case "displayin":
  420.                mState = "displayin_step";
  421.                if(true)
  422.                {
  423.                   mDuration = 150;
  424.                   if(true)
  425.                   {
  426.                      mStartTime = getTimer();
  427.                      if(true)
  428.                      {
  429.                         mcDisplay.visible = true;
  430.                         if(true)
  431.                         {
  432.                            mcDisplay.bClose.addEventListener(MouseEvent.MOUSE_DOWN,e_CLOSE);
  433.                            if(true)
  434.                            {
  435.                               addr175:
  436.                               ┬º┬ºpush(1 - mFactor);
  437.                               if(true)
  438.                               {
  439.                                  var _loc2_:*;
  440.                                  ┬º┬ºpush(_loc2_ = ┬º┬ºpop());
  441.                                  if(true)
  442.                                  {
  443.                                     _loc1_ = ┬º┬ºpop();
  444.                                     ┬º┬ºpush(_loc2_);
  445.                                  }
  446.                                  if(true)
  447.                                  {
  448.                                     ┬º┬ºpush(┬º┬ºpop() == 0);
  449.                                     if(┬º┬ºpop() == 0)
  450.                                     {
  451.                                        ┬º┬ºpop();
  452.                                        if(true)
  453.                                        {
  454.                                           addr202:
  455.                                           if(mTrails.length == 0)
  456.                                           {
  457.                                              if(true)
  458.                                              {
  459.                                                 mState = "normal";
  460.                                                 if(true)
  461.                                                 {
  462.                                                    dispatchEvent(new Event(OPEN));
  463.                                                    if(true)
  464.                                                    {
  465.                                                       addr217:
  466.                                                       gfx.clear();
  467.                                                       if(true)
  468.                                                       {
  469.                                                          RenderTrails(true);
  470.                                                          if(true)
  471.                                                          {
  472.                                                             gfx.lineStyle(0,mBorderColor,mBorderAlpha * _loc1_);
  473.                                                             if(true)
  474.                                                             {
  475.                                                                if(_loc1_)
  476.                                                                {
  477.                                                                   if(true)
  478.                                                                   {
  479.                                                                      gfx.beginFill(mFlashColor,_loc1_);
  480.                                                                      if(true)
  481.                                                                      {
  482.                                                                         addr252:
  483.                                                                         DrawRect(mTransitionSize);
  484.                                                                      }
  485.                                                                      addr256:
  486.                                                                      if(!_loc1_)
  487.                                                                      {
  488.                                                                      }
  489.                                                                      addr259:
  490.                                                                      break;
  491.                                                                   }
  492.                                                                   gfx.endFill();
  493.                                                                   ┬º┬ºgoto(addr259);
  494.                                                                }
  495.                                                                ┬º┬ºgoto(addr252);
  496.                                                             }
  497.                                                             ┬º┬ºgoto(addr259);
  498.                                                          }
  499.                                                          else
  500.                                                          {
  501.                                                             addr266:
  502.                                                             mDuration = 100;
  503.                                                          }
  504.                                                       }
  505.                                                       mStartTime = getTimer();
  506.                                                       addr273:
  507.                                                       gfx.clear();
  508.                                                    }
  509.                                                    ┬º┬ºgoto(addr273);
  510.                                                 }
  511.                                                 RenderTrails(true);
  512.                                              }
  513.                                              gfx.lineStyle(0,mBorderColor,mBorderAlpha);
  514.                                              addr284:
  515.                                              gfx.beginFill(mFlashColor,_loc1_ = mFactor);
  516.                                              addr294:
  517.                                              DrawRect(mTransitionSize);
  518.                                              addr297:
  519.                                              gfx.endFill();
  520.                                              if(_loc1_ == 1)
  521.                                              {
  522.                                                 addr302:
  523.                                                 mState = "transitionout";
  524.                                                 addr305:
  525.                                                 break;
  526.                                              }
  527.                                              ┬º┬ºgoto(addr305);
  528.                                           }
  529.                                           ┬º┬ºgoto(addr217);
  530.                                        }
  531.                                        ┬º┬ºgoto(addr284);
  532.                                     }
  533.                                     ┬º┬ºgoto(addr202);
  534.                                  }
  535.                                  ┬º┬ºgoto(addr256);
  536.                               }
  537.                               ┬º┬ºgoto(addr284);
  538.                            }
  539.                            ┬º┬ºgoto(addr294);
  540.                         }
  541.                         ┬º┬ºgoto(addr297);
  542.                      }
  543.                      ┬º┬ºgoto(addr284);
  544.                   }
  545.                }
  546.                ┬º┬ºgoto(addr302);
  547.             case "displayin_step":
  548.                ┬º┬ºgoto(addr175);
  549.             case "displayout":
  550.                mState = "displayout_step";
  551.                ┬º┬ºgoto(addr266);
  552.             case "displayout_step":
  553.                ┬º┬ºgoto(addr217);
  554.             case "normal":
  555.                break;
  556.             case "dispose":
  557.                Dispose();
  558.                ┬º┬ºgoto(addr383);
  559.          }
  560.       }
  561.       
  562.       public function Dispose() : void
  563.       {
  564.          if(true)
  565.          {
  566.             if(parent)
  567.             {
  568.                if(true)
  569.                {
  570.                   dispatchEvent(new Event(DISPOSING));
  571.                   if(true)
  572.                   {
  573.                      parent.removeChild(this);
  574.                   }
  575.                   if(!mcBG)
  576.                   {
  577.                   }
  578.                   ┬º┬ºgoto(addr37);
  579.                }
  580.                bmBG.bitmapData.dispose();
  581.             }
  582.          }
  583.          addr37:
  584.       }
  585.    }
  586. }
  587.